热门文章
PHP函数介...
如何解决Red...
MySQL数据...
Tomcat 与 N...
Nginx 轻松搞...
Nginx额外篇...
Nginx静态资...
ThinkPHP...
PHP 微服务...
linux-window...

Tomcat 与 Nginx、Apache的区别是什么?

有趣的灵魂 2023-09-18 15:58:46


这里写图片描述

1/3 什么是Nginx?

Nginx是一个高性能的反向代理服务器(只能处理静态页面)。所谓反向代理服务器,也可以称为消息转发服务器。举个例子,(见上图)

  • 1/4 用户只需要知道反向代理服务器(Nginx)的IP,并向它请求资源;

  • 2/4 反向代理服务器收到请求之后,将请求转发到对应的真正提供服务的Web服务器上;

  • 3/4 这时,Web服务器只需要把资源提交给反向代理服务器;

  • 4/4 最后,由反向代理服务器将资源提交给用户。

2/3 Apache Tomcat是什么?

这里,一般被视为Apache+Tomcat。Apache类似于Nginx功能,也可以做反向代理服务器,但也可以处理动态页面。Tomcat可以脱离于Apache单独运行,但更重要的是作为Apache的扩展,用来增强Apache处理动态页面的功能(具体来说就是将Jsp翻译为Servlet)。

3/3 小结

Apache很有年头了,Nginx是后起之秀。以下是简单比较,

  • 其一,如果只需要静态消息的转发,毫无疑问Nginx是最佳的选择。它不仅具有很高的稳定性,更以其性能著称——官方表示其可以保持10,000个没有活动的连接,远大于Apache的1,000个以下,并且不惧DDoS攻击。

  • 其二,如果需要处理动态页面,那么Apache Tomcat将是不错的选择。

  • 其三,Nginx适合I/O密集型,可以处理高并发。Apache适合CPU密集型,可以快速处理请求。


最后修改:2024-05-17 08:44:37